package com.mc.read.dao.models;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UseropinionExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UseropinionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUseropinionidIsNull() {
            addCriterion("UserOpinionId is null");
            return (Criteria) this;
        }

        public Criteria andUseropinionidIsNotNull() {
            addCriterion("UserOpinionId is not null");
            return (Criteria) this;
        }

        public Criteria andUseropinionidEqualTo(Integer value) {
            addCriterion("UserOpinionId =", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidNotEqualTo(Integer value) {
            addCriterion("UserOpinionId <>", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidGreaterThan(Integer value) {
            addCriterion("UserOpinionId >", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidGreaterThanOrEqualTo(Integer value) {
            addCriterion("UserOpinionId >=", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidLessThan(Integer value) {
            addCriterion("UserOpinionId <", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidLessThanOrEqualTo(Integer value) {
            addCriterion("UserOpinionId <=", value, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidIn(List<Integer> values) {
            addCriterion("UserOpinionId in", values, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidNotIn(List<Integer> values) {
            addCriterion("UserOpinionId not in", values, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidBetween(Integer value1, Integer value2) {
            addCriterion("UserOpinionId between", value1, value2, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseropinionidNotBetween(Integer value1, Integer value2) {
            addCriterion("UserOpinionId not between", value1, value2, "useropinionid");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("UserId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("UserId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("UserId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("UserId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("UserId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("UserId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("UserId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("UserId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("UserId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("UserId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("UserId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("UserId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andPicurlIsNull() {
            addCriterion("PicUrl is null");
            return (Criteria) this;
        }

        public Criteria andPicurlIsNotNull() {
            addCriterion("PicUrl is not null");
            return (Criteria) this;
        }

        public Criteria andPicurlEqualTo(String value) {
            addCriterion("PicUrl =", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlNotEqualTo(String value) {
            addCriterion("PicUrl <>", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlGreaterThan(String value) {
            addCriterion("PicUrl >", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlGreaterThanOrEqualTo(String value) {
            addCriterion("PicUrl >=", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlLessThan(String value) {
            addCriterion("PicUrl <", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlLessThanOrEqualTo(String value) {
            addCriterion("PicUrl <=", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlLike(String value) {
            addCriterion("PicUrl like", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlNotLike(String value) {
            addCriterion("PicUrl not like", value, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlIn(List<String> values) {
            addCriterion("PicUrl in", values, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlNotIn(List<String> values) {
            addCriterion("PicUrl not in", values, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlBetween(String value1, String value2) {
            addCriterion("PicUrl between", value1, value2, "picurl");
            return (Criteria) this;
        }

        public Criteria andPicurlNotBetween(String value1, String value2) {
            addCriterion("PicUrl not between", value1, value2, "picurl");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNull() {
            addCriterion("CreateDate is null");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNotNull() {
            addCriterion("CreateDate is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedateEqualTo(Date value) {
            addCriterion("CreateDate =", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotEqualTo(Date value) {
            addCriterion("CreateDate <>", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThan(Date value) {
            addCriterion("CreateDate >", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThanOrEqualTo(Date value) {
            addCriterion("CreateDate >=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThan(Date value) {
            addCriterion("CreateDate <", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThanOrEqualTo(Date value) {
            addCriterion("CreateDate <=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateIn(List<Date> values) {
            addCriterion("CreateDate in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotIn(List<Date> values) {
            addCriterion("CreateDate not in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateBetween(Date value1, Date value2) {
            addCriterion("CreateDate between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotBetween(Date value1, Date value2) {
            addCriterion("CreateDate not between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andIsdealIsNull() {
            addCriterion("IsDeal is null");
            return (Criteria) this;
        }

        public Criteria andIsdealIsNotNull() {
            addCriterion("IsDeal is not null");
            return (Criteria) this;
        }

        public Criteria andIsdealEqualTo(Integer value) {
            addCriterion("IsDeal =", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealNotEqualTo(Integer value) {
            addCriterion("IsDeal <>", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealGreaterThan(Integer value) {
            addCriterion("IsDeal >", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealGreaterThanOrEqualTo(Integer value) {
            addCriterion("IsDeal >=", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealLessThan(Integer value) {
            addCriterion("IsDeal <", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealLessThanOrEqualTo(Integer value) {
            addCriterion("IsDeal <=", value, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealIn(List<Integer> values) {
            addCriterion("IsDeal in", values, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealNotIn(List<Integer> values) {
            addCriterion("IsDeal not in", values, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealBetween(Integer value1, Integer value2) {
            addCriterion("IsDeal between", value1, value2, "isdeal");
            return (Criteria) this;
        }

        public Criteria andIsdealNotBetween(Integer value1, Integer value2) {
            addCriterion("IsDeal not between", value1, value2, "isdeal");
            return (Criteria) this;
        }

        public Criteria andDealidIsNull() {
            addCriterion("DealId is null");
            return (Criteria) this;
        }

        public Criteria andDealidIsNotNull() {
            addCriterion("DealId is not null");
            return (Criteria) this;
        }

        public Criteria andDealidEqualTo(String value) {
            addCriterion("DealId =", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidNotEqualTo(String value) {
            addCriterion("DealId <>", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidGreaterThan(String value) {
            addCriterion("DealId >", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidGreaterThanOrEqualTo(String value) {
            addCriterion("DealId >=", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidLessThan(String value) {
            addCriterion("DealId <", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidLessThanOrEqualTo(String value) {
            addCriterion("DealId <=", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidLike(String value) {
            addCriterion("DealId like", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidNotLike(String value) {
            addCriterion("DealId not like", value, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidIn(List<String> values) {
            addCriterion("DealId in", values, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidNotIn(List<String> values) {
            addCriterion("DealId not in", values, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidBetween(String value1, String value2) {
            addCriterion("DealId between", value1, value2, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealidNotBetween(String value1, String value2) {
            addCriterion("DealId not between", value1, value2, "dealid");
            return (Criteria) this;
        }

        public Criteria andDealnameIsNull() {
            addCriterion("DealName is null");
            return (Criteria) this;
        }

        public Criteria andDealnameIsNotNull() {
            addCriterion("DealName is not null");
            return (Criteria) this;
        }

        public Criteria andDealnameEqualTo(String value) {
            addCriterion("DealName =", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameNotEqualTo(String value) {
            addCriterion("DealName <>", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameGreaterThan(String value) {
            addCriterion("DealName >", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameGreaterThanOrEqualTo(String value) {
            addCriterion("DealName >=", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameLessThan(String value) {
            addCriterion("DealName <", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameLessThanOrEqualTo(String value) {
            addCriterion("DealName <=", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameLike(String value) {
            addCriterion("DealName like", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameNotLike(String value) {
            addCriterion("DealName not like", value, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameIn(List<String> values) {
            addCriterion("DealName in", values, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameNotIn(List<String> values) {
            addCriterion("DealName not in", values, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameBetween(String value1, String value2) {
            addCriterion("DealName between", value1, value2, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealnameNotBetween(String value1, String value2) {
            addCriterion("DealName not between", value1, value2, "dealname");
            return (Criteria) this;
        }

        public Criteria andDealdateIsNull() {
            addCriterion("DealDate is null");
            return (Criteria) this;
        }

        public Criteria andDealdateIsNotNull() {
            addCriterion("DealDate is not null");
            return (Criteria) this;
        }

        public Criteria andDealdateEqualTo(Date value) {
            addCriterion("DealDate =", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateNotEqualTo(Date value) {
            addCriterion("DealDate <>", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateGreaterThan(Date value) {
            addCriterion("DealDate >", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateGreaterThanOrEqualTo(Date value) {
            addCriterion("DealDate >=", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateLessThan(Date value) {
            addCriterion("DealDate <", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateLessThanOrEqualTo(Date value) {
            addCriterion("DealDate <=", value, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateIn(List<Date> values) {
            addCriterion("DealDate in", values, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateNotIn(List<Date> values) {
            addCriterion("DealDate not in", values, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateBetween(Date value1, Date value2) {
            addCriterion("DealDate between", value1, value2, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealdateNotBetween(Date value1, Date value2) {
            addCriterion("DealDate not between", value1, value2, "dealdate");
            return (Criteria) this;
        }

        public Criteria andDealexplainIsNull() {
            addCriterion("DealExplain is null");
            return (Criteria) this;
        }

        public Criteria andDealexplainIsNotNull() {
            addCriterion("DealExplain is not null");
            return (Criteria) this;
        }

        public Criteria andDealexplainEqualTo(String value) {
            addCriterion("DealExplain =", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainNotEqualTo(String value) {
            addCriterion("DealExplain <>", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainGreaterThan(String value) {
            addCriterion("DealExplain >", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainGreaterThanOrEqualTo(String value) {
            addCriterion("DealExplain >=", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainLessThan(String value) {
            addCriterion("DealExplain <", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainLessThanOrEqualTo(String value) {
            addCriterion("DealExplain <=", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainLike(String value) {
            addCriterion("DealExplain like", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainNotLike(String value) {
            addCriterion("DealExplain not like", value, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainIn(List<String> values) {
            addCriterion("DealExplain in", values, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainNotIn(List<String> values) {
            addCriterion("DealExplain not in", values, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainBetween(String value1, String value2) {
            addCriterion("DealExplain between", value1, value2, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andDealexplainNotBetween(String value1, String value2) {
            addCriterion("DealExplain not between", value1, value2, "dealexplain");
            return (Criteria) this;
        }

        public Criteria andIssettleIsNull() {
            addCriterion("isSettle is null");
            return (Criteria) this;
        }

        public Criteria andIssettleIsNotNull() {
            addCriterion("isSettle is not null");
            return (Criteria) this;
        }

        public Criteria andIssettleEqualTo(Integer value) {
            addCriterion("isSettle =", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleNotEqualTo(Integer value) {
            addCriterion("isSettle <>", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleGreaterThan(Integer value) {
            addCriterion("isSettle >", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleGreaterThanOrEqualTo(Integer value) {
            addCriterion("isSettle >=", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleLessThan(Integer value) {
            addCriterion("isSettle <", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleLessThanOrEqualTo(Integer value) {
            addCriterion("isSettle <=", value, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleIn(List<Integer> values) {
            addCriterion("isSettle in", values, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleNotIn(List<Integer> values) {
            addCriterion("isSettle not in", values, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleBetween(Integer value1, Integer value2) {
            addCriterion("isSettle between", value1, value2, "issettle");
            return (Criteria) this;
        }

        public Criteria andIssettleNotBetween(Integer value1, Integer value2) {
            addCriterion("isSettle not between", value1, value2, "issettle");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}